package com.ruoyi.project.access.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;

import javax.servlet.MultipartConfigElement;
import java.io.File;

@Slf4j
@Configuration
public class UploadConfig {
    public static final String Path = System.getProperty("user.dir") + "/tmp/data";

    @Bean
    public MultipartConfigElement getMultipartConfig() {
        MultipartConfigFactory config = new MultipartConfigFactory();
        config.setMaxFileSize(DataSize.ofMegabytes(250));     // 设置上传文件的单个大小限制为 50MB
        config.setMaxRequestSize(DataSize.ofMegabytes(250)); // 设置总的上传的大小限制为 50MB
        config.setLocation(Path);                           // 设置临时保存目录

        File file = new File(Path);;
        if (!file.exists()) {
            file.mkdirs();
        }

        return config.createMultipartConfig();              // 创建一个上传配置
    }
}
